LinuC-2 - 201試験 - 2.01:システムの起動とLinuxカーネル - 2.01.5 カーネル実行時における管理とトラブルシューティング

Last Update : August 21 2022 17:47:18

     

a. カーネルモジュール操作コマンド

1.システムの情報を表示する [ uname ]

システムの情報を表示するには、 uname コマンドを使用します。-a オプションをつけると全ての情報を表示します。

$ uname -a
Linux ns.click-rescue.com 2.4.20-6 #1 Thu Feb 27 10:06:59 EST 2003 i686 i686 i386 GNU/Linux

● uname コマンド構文
  uname [オプション]

● uname コマンドオプション
 -a 全ての情報を表示する
 -s カーネル名を表示する
 -n ホスト名を表示する
 -r カーネルリリースを表示する
 -v カーネルバージョンを表示する
 -p プロセッサのタイプを表示する
 -i ハードウェアプラットフォームを表示する
 -o オペレーティングシステムを表示する


2.モジュールの情報表示

モジュールの情報を表示するには、modinfo コマンドを使用します。

# modinfo autofs4 filename: /lib/modules/2.6.32-358.6.2.el6.i686/kernel/fs/autofs4/autofs4.ko license: GPL srcversion: C74D1C782E82C2F0CD79361 depends: vermagic: 2.6.32-358.6.2.el6.i686 SMP mod_unload modversions 686

● modinfo コマンド構文
  modinfo [オプション] モジュール名

● modinfo コマンドオプション
 -a モジュールの作者を表示する
 -d モジュールの説明を表示する
 -l モジュールのライセンスを表示する
 -n モジュールファイル名を表示する

オプションを省略すると全ての情報を表示します。


b. カーネルパラメータ

Linuxでは、システムの実行中にカーネルやシステムをリブートすることなく管理者が非常に整然とした方法でカーネルを変更できるようになっています。それには/proc という仮想ファイルシステムが使用されます。
/proc ファイルシステムのごく基本的な機能は、実行中のカーネルの状況を確認することです。この機能を利用することで、パフォーマンスの監視、システム情報の調査、システム構成の確認や変更といったことが可能になります。このファイルシステムが仮想ファイルシステム と呼ばれるのは、それが本当はファイルシステムでも何でもないからです。それは、カーネルが作成するマップで、通常のファイルシステム構造に結合され、ユーザーがファイルシステム構造にアクセスできるようにします。

● カーネルパラメータの変更方法

1.「/proc/sys」ディレクトリ以下に直接値を設定

カーネルパラメータは「/proc/sys」ディレクトリ以下に設定されています。各項目に直接値を入れることで動的に変更することが可能です。

2.「sysctl」コマンドを利用して設定

カーネルパラメータを確認する際に使用した「sysctl」コマンドを使って設定することもできます。

3.「/etc/sysctl.conf」ファイルに設定

上記2種類の方法は一時的な変更だけで、OSを再起動すると設定した値が元に戻ってしまいます。再起動しても常に設定値を反映させるには以下の方法で設定します。
「/etc/sysctl.conf」はカーネルパラメータを記述する設定ファイルです。このファイルにパラメータを追加し「sysctl -p」を実行するとファイルが読み込まれ値が設定されます。OS起動時には「/etc/rc.sysinit」の処理中に「sysctl -p」が実行されますので、再起動をしても同じ値が設定されることになります。

● 代表的なカーネルパラメータは以下の通りです。

 /proc/sys以下のパス  説明
 kernel/ctrl-alt-delCtrl+Alt+Deleteキーの動作設定
 kernal/domainnameNIS(Network Information Service)ドメイン名
 kernal/hostnameホスト名
 kernel/modprobemodprobeのパス
 kernel/hotplugホットプラグ用のプログラムのパス
 kernel/osreleaseカーネルバージョン
 kernel/ostypeOSの種類
 kernal/semセマフォ数
 kernal/shmall共有メモリの合計(バイト単位)
 kernal/shmmax共有メモリセグメントの最大値(バイト単位)
 kernel/shmmni共有メモリセグメントの最大数
 kernel/sysrqシステム要求キー(Magic SysRq Key)の有効/無効
 kernel/threads-maxスレッド(プロセス)の最大数
 fs/file-maxファイルハンドルの最大数
 fs/file-nr開かれているファイル数、使用されたファイルハンドル数、ファイルハンドルの最大数
 net/core/rmem_default受信ソケットバッファのデフォルトサイズ
 net/core/rmem_max受信ソケットバッファの最大サイズ
 net/core/wmem_default送信ソケットバッファのデフォルトサイズ
 net/core/wmem_max送信ソケットバッファの最大サイズ
 net/ipv4/ip_forwardネットワークインタフェース間でのパケット転送の有効/無効
 net/ipv4/icmp_echo_ignore_broadcastブロードキャスト宛のICMP Echo Requestを無視するかどうか
 net/ipv4/icmp_echo_ignore_allすべてのICMP Echo Requestを無視するかどうか

z. 出題範囲概要

概要 :
  • 2.6.x、3.x、4.x、5.x カーネルとそのロード可能なモジュールについての管理や照会ができる。ブートおよび実行時の一般的な問題を特定および修正することができる。udevを使用したデバイスの検知と管理について理解する。これには、udevルールのトラブルシューティングが含まれる。

詳細 :
  • コマンドラインユーティリティを使用して、現在実行中のカーネルおよびカーネルモジュールに関する情報を取得する。
    depmod, modinfo
  • 手作業でカーネルモジュールをロードおよびアンロードする。
    modprobe, insmod, lsmod, rmmod
  • モジュールをアンロードできるタイミングを判断する。
  • モジュールが受け取るパラメータを判断する。
    /etc/modprobe.d/
  • カーネルのバージョンを確認する。
    uname
    /lib/modules/kernel-version/modules.dep
  • モジュールをファイル名ではなく別の名前でロードできるようにシステムを設定する。
  • /proc ファイルシステム
    /proc/sys/kernel/
    /etc/sysctl.conf, /etc/sysctl.d/, /sbin/sysctl
  • /sys ファイルシステム (sysfs)
  • /bootおよび /lib/modules の内容
  • 利用可能なハードウェアに関する情報を分析するツール
    dmesg, lspci, lsdev, lsusb, journalctl
  • udevルール
    udevmonitor, udevadm monitor, /etc/udev/
    /etc内のモジュール設定ファイル
  • カーネルダンプを取得する。設定は含まない。
    kdump, kexec

  [ 例題 ] 


         

    www.it-shikaku.jp